"""
自定义UI组件模块
"""

from .button import Button
from .table import TableWidget
from .form import FormWidget
from .card import CardWidget, StatCardWidget
from .status_bar import StatusBarWidget
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QLabel
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QFont

__all__ = [
    'Button',
    'TableWidget', 
    'FormWidget',
    'CardWidget',
    'StatCardWidget',
    'StatusBarWidget',
    'create_placeholder_widget'
]

def create_placeholder_widget(function_id):
    """创建功能占位符组件"""
    
    function_info = {
        "dict": {
            "title": "📚 字典管理",
            "description": "管理系统类型定义，支持动态添加新类型和树形结构显示。"
        },
        "asset": {
            "title": "🖥️ 设备资产",
            "description": "管理所有物理/虚拟设备，作为系统根实体，支持设备组成关系管理。"
        },
        "ip": {
            "title": "🌐 IP管理",
            "description": "管理IP地址分配，严格绑定到单一实体，支持多VLAN环境和冲突检测。"
        },
        "account": {
            "title": "🔐 账号管理",
            "description": "集中存储账号密码，支持AES-256加密存储，实例级关联与共享。"
        },
        "os": {
            "title": "🪟 操作系统",
            "description": "管理操作系统实例，作为业务系统/中间件的运行环境。"
        },
        "system": {
            "title": "🏢 业务系统",
            "description": "管理应用系统，含安全设备管理系统、分布式存储管理系统。"
        },
        "middleware": {
            "title": "🔧 中间件",
            "description": "管理中间件实例（如MySQL、Redis），与业务系统解耦。"
        },
        "oob": {
            "title": "🔌 带外管理",
            "description": "管理设备带外管理接口（iDRAC、iLO等）。"
        },
        "import_export": {
            "title": "📊 数据导入导出",
            "description": "支持Excel模板设计和批量数据导入导出功能。"
        },
        "settings": {
            "title": "⚙️ 系统设置",
            "description": "系统配置管理，包括数据库连接、用户权限等设置。"
        }
    }
    
    info = function_info.get(function_id, {
        "title": "📋 功能模块",
        "description": "功能开发中..."
    })
    
    widget = QWidget()
    layout = QVBoxLayout(widget)
    layout.setAlignment(Qt.AlignCenter)
    
    # 标题
    title_label = QLabel(info["title"])
    title_label.setFont(QFont("Microsoft YaHei", 16, QFont.Bold))
    title_label.setStyleSheet("color: #1976d2; margin: 20px;")
    title_label.setAlignment(Qt.AlignCenter)
    layout.addWidget(title_label)
    
    # 描述
    desc_label = QLabel(info["description"])
    desc_label.setFont(QFont("Microsoft YaHei", 10))
    desc_label.setStyleSheet("color: #666666; margin: 10px; padding: 20px; background-color: #f5f5f5; border-radius: 8px;")
    desc_label.setWordWrap(True)
    desc_label.setAlignment(Qt.AlignCenter)
    layout.addWidget(desc_label)
    
    # 开发状态
    status_label = QLabel("🚧 功能开发中...")
    status_label.setFont(QFont("Microsoft YaHei", 12))
    status_label.setStyleSheet("color: #ff9800; margin: 20px;")
    status_label.setAlignment(Qt.AlignCenter)
    layout.addWidget(status_label)
    
    # 提示信息
    hint_label = QLabel("💡 此功能模块正在开发中，敬请期待后续版本更新。")
    hint_label.setFont(QFont("Microsoft YaHei", 9))
    hint_label.setStyleSheet("color: #999999; margin: 10px;")
    hint_label.setAlignment(Qt.AlignCenter)
    layout.addWidget(hint_label)
    
    layout.addStretch()
    
    return widget